home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / TCP_IP / TNOS230D / NEW2TN2.22 < prev    next >
Text File  |  1997-06-28  |  25KB  |  552 lines

  1.   TNOS Release Notes - Release 2.22
  2.   Brian A. Lantz, brian@lantz.com
  3.   v1.00, June 28, 1997
  4.  
  5.   These are the FINAL Release Notes for release 2.22 of TNOS.  Hope-
  6.   fully, this list of changes will give you an idea of the scope of work
  7.   that has occured since the release of TNOS 2.21.
  8.   ______________________________________________________________________
  9.  
  10.   Table of Contents:
  11.  
  12.   1.      Bug Fixes
  13.  
  14.   2.      Improvements and Enhancements
  15.  
  16.   3.      Minor Changes
  17.  
  18.   4.      Remaining Known Bugs
  19.  
  20.   5.      To-Do List
  21.   ______________________________________________________________________
  22.  
  23.   1.  Bug Fixes
  24.  
  25.   The following bugs have been squashed.
  26.  
  27.   o   Minor browser fix to use only the LAST <TITLE> tag, if multiples
  28.      exist
  29.      An old HTML trick was to define multiple TITLEs on a page, to get a
  30.      kinda scrolling marquee effect from the title in the window's
  31.      titlebar changing.  The TNOS browser wasn't set up to properly
  32.      discard all but the final one.
  33.  
  34.   o   Cleanup up some code conditionals when forwarding and converse are
  35.      omitted
  36.  
  37.   o   Cleanup to again allow MBFWD flag to be undefined
  38.  
  39.   o   Proper treatment of PBBS messages with callsign fields > 6
  40.      characters long When trying to send via PBBS forwarding messages
  41.      with Internet addresses that had the user or first section of the
  42.      hostname with more than 6 characters, previously this would be re-
  43.      addressed as 'areaname@areaname', using the current area's name.
  44.      This was NEVER correct. Since non-ham messages should NOT be
  45.      passing via PBBS forwarding, such messages will now be marked as
  46.      deleted (if in personal areas) and removed from the forwarding
  47.      queues.
  48.  
  49.   o   Fixed where rejected personal messages weren't being deleted from
  50.      mailboxes
  51.  
  52.   o   Corrected formatting of TCB in 'tcp view' command
  53.  
  54.   o   Fixed a linking problem if HTTP defined but not BROWSER
  55.  
  56.   o   A workaround for a libc bug in free()
  57.      Some versions of GNU libc (at least some for Linux) have a bad bug
  58.      that once it happens, a call to __libc_free() never returns. I have
  59.      added code to the Unix version to keep this from disabling a system
  60.      indefinitely.  While I cannot recover gracefully from this, if a
  61.      call to free takes longer than 60 seconds to return, then TNOS is
  62.      exited. This allows properly configured systems with restart
  63.      scripts (or an entry in the inittab file) to only be 'locked up'
  64.      for one minute due to this libc bug.
  65.      I have no idea why this is happening in the library, but it SEEMS
  66.      to be related to a free getting called while the OS is swapping to
  67.      disk.
  68.  
  69.   o   Fixed an incompatibility between SETPSINFO flag an environment
  70.      variables
  71.      The SETPSINFO code does it's magic by basically trashing the
  72.      command line arguments and environment variables. While I knew this
  73.      when I added the code for the SETPSINFO, I hadn't thought of
  74.      possible problems.
  75.      A couple of places in the code used environment variables (if they
  76.      existed) while we now effectively disabled. In addition, depending
  77.      on the timing on startup, the TERM environment variable would (at
  78.      times) be cleared before the NCURSES code had a chance to read it.
  79.  
  80.   o   Re-enabled '412 No newsgroup selected' NNTP server message
  81.  
  82.   o   Fixed a bug in the HTTP server that preventing using ports other
  83.      than 80
  84.  
  85.   o   Fixed crash if <PgUp> used from Command Session
  86.  
  87.   o   FBB forwarding problem if all messages in a transfer refused
  88.      It seems that on occasion with FBB, if an entire negotiated
  89.      transfer is rejected (all are answered as '-'), and there are more
  90.      in that section, then the rest would be ignored and also marked as
  91.      deleted.
  92.  
  93.   o   FBB/Xfwd problem if 'SB'ed message in personal area
  94.      Also, if a message in a negotiated transfer (contained in a
  95.      personal mail area) was original sent as a 'SB', then the other
  96.      messages in that transfer were also marked as 'SB'. This one, while
  97.      VERY rare, was a bear to find ;-)
  98.      And, messages MARKED as 'SB' (as above, in a personal area) were
  99.      NOT getting properly deleted (because of the 'B').
  100.  
  101.   o   Fixed a buglet with unusually 'Sx' lines in reject checking
  102.  
  103.   o   Fixed the 'time' server to properly adjust to UTC
  104.  
  105.   o   Made a few minor forwarding mods, to handle rare quirks
  106.  
  107.   o   Fixed the 'ping of self' resource contention buglet
  108.      If from your TNOS console you ping'ed your self, a crash would
  109.      usually follow. This was caused by a timing problem. When the raw
  110.      IP socket was opened to send the ping, it added an entry into a
  111.      table. That same table is traversed when an incoming packet is
  112.      received. When the send of the ping is complete, that entry is
  113.      removed. What was happening was that the table was having the entry
  114.      removed WHILE it was being traversed.
  115.      This timing was only 'just right' when pinging from the console;
  116.      pinging yourself from the PBBS didn't cause the problem.
  117.  
  118.   o   Fixed a problem of occasional non-clearing of HTTP connections
  119.      This occured when the 'http simult' value was reached, a connection
  120.      was waiting for a 'slot' to get it's data with, and the user
  121.      impatiently disconnected the socket. It was compounded by trying to
  122.      have one counter doing two functions (obviously, not very well ;-)
  123.  
  124.   o   Fixed a bug when 'conv entrychannel' wasn't being used for telnet
  125.      connects
  126.  
  127.   o   Fixed bug where bad rewrite file could abort forwarding session
  128.  
  129.   o   All the above included in 2.22b1
  130.  
  131.   o   Added patch from Gareth to do White Page lookups properly w/out
  132.      ASKHOME
  133.   o   Minor fix for NNTPCLI support
  134.  
  135.   o   Minor fix for newer LIBC jmp_buf.h file under Linux
  136.  
  137.   o   Minor fix to area cleanup code, when exiting BBS
  138.  
  139.   o   Minor fix in rspf.c to prevent calling set_timer from a null route
  140.  
  141.   o   Minor fixed in wildmat.c to prevent calling with empty or null
  142.      string
  143.  
  144.   o   Fix for obscure statline problem
  145.  
  146.   o   All the above included in 2.22b2
  147.  
  148.   o   Fixed a problem with large SOA's being output if 'dom tr on'
  149.  
  150.   o   Fixed an improperly dereferenced pointer in fbbfwd.c
  151.  
  152.   o   Added code to convert to lowercase username in HTTP PBBS code
  153.  
  154.   o   Fixed an obscure bug with forward sessions and keyboard locking
  155.  
  156.   o   Workaround for bug where some PBBSs send an extra forwarding
  157.      prompt
  158.  
  159.   o   Fixed a rare problem with F9'ing from Command to Trace session
  160.  
  161.   o   Fixed a fwding problem if more than one Message-Id lines in a
  162.      message
  163.  
  164.   o   Fixed a problem with AXUI and digis
  165.  
  166.   o   All the above included in 2.22b3
  167.  
  168.   o   Plugged an obscure security hole with PBBS finger command
  169.  
  170.   o   Fixed a problem accessing sockets with TNOS/DOS
  171.  
  172.   2.  Improvements and Enhancements
  173.  
  174.   The following optimizations and improvements have occurred.
  175.  
  176.   o   Added support to the Browser for <MARQUEE> tags
  177.      This scrolling marquee is placed on the top line of the three line
  178.      control area at the bottom of the browser screen. If an ISINDEX tag
  179.      is present on the same page as a MARQUEE, the MARQUEE is ignored,
  180.      since the ISINDEX instructions use the same line in the control
  181.      area.
  182.      Also, if there are more than one MARQUEE tags in a page, the last
  183.      one is the one displayed.
  184.  
  185.   o   TNOS Statusline News Server added
  186.      Building on the browser marquee code, the statusline for the
  187.      Command Session can now have a marquee which gets updated from a
  188.      special URL at www.lantz.com.
  189.      NOTE: This server is only compiled in if the BROWSER flag is set!
  190.      To enable display of the Statusline News Server, you need two
  191.      commands.  The first is 'start statnews'. This retrieves the
  192.      current news info from www.lantz.com, and then it waits till the
  193.      top of the next hour, and does it again. While the updates occur in
  194.      minute zero of the hour, the second is purposely randomized based
  195.      on the last part of the 'ip address', to keep from having a 'pile
  196.      up' on second zero ;-)
  197.      The updating of this data can be stopped with 'stop statnews'. You
  198.      can do a 'start statnews' at any time, to single to that process
  199.      for it to re-read the News URL at that time, if you wish.
  200.      The second step is that you need to add a 'M' to your 'statmode'
  201.      command.  If you are not using a 'statmode', then this is part of
  202.      the default display.  A 'stop statnews' command has no effect on
  203.      this, though. If the 'M'arquee flag is set for your 'statmode',
  204.      then the last retrieved news will be displayed.
  205.  
  206.   o   Support for recent ncurses (1.9.9e)
  207.  
  208.   o   Color support added to Unix versions
  209.      The various color commands now work with Unix and curses.
  210.  
  211.   o   Added creation of a 'structur.fil' file on startup
  212.      This file contains the default and actual (in use) names for all
  213.      modifyable filenames, directory names, and default session manager
  214.      names. This can be used to help rectify problems discovering where
  215.      TNOS expect a file or directory to be located.
  216.      The 'in use' section of this file can be saved separately, and used
  217.      as a configuration file with the '-f configfile' command line
  218.      option, if desired.
  219.      The 'structur.fil' file is created in the TNOS root directory used
  220.      on execution.
  221.  
  222.   o   Finished port of DOS SCREENSAVER code for Unix
  223.      Now the SCREENSAVER can be compiled into TNOS/Unix and used.
  224.  
  225.   o   Started adding in full support for CGI applications
  226.  
  227.   o   CGI environment variable available in 'echo var=' Server-Side
  228.      Includes
  229.      All environment variables (regular and CGI) are available in this
  230.      manner, if the HTTPCGI flag is set when TNOS is compiled.
  231.      NOTE: MSDOS users using this will want to make sure to allocate a
  232.      large enough environment size, using the CONFIG.SYS 'SHELL'
  233.      command.
  234.  
  235.   o   Added a 'http execcgi' command to allow disabling of CGI at
  236.      runtime
  237.      This is off (set to 0) by default.
  238.  
  239.   o   Added a 'wpages clientcall' to set the FROM call of WP client
  240.      updates
  241.  
  242.   o   Temporarily added a forwarding connection type of 'fbbtelnet' for
  243.      FBB 'telnet' forwarding
  244.      FBB's 'telnet' share the same NAME as the RFC854 protocol, but
  245.      little else.  It IMPROPERLY handles <CR> usage, and cannot seem to
  246.      properly handle binary compressed forwarding. If you need to use
  247.      telnet to forward to a FBB PBBS, then make the connection type
  248.      'fbbtelnet' instead of 'telnet' in your forward.bbs file. This will
  249.      hack the <CR> problem and restrict the forwarding mode to non-
  250.      compresses FBB-style forwarding.
  251.      This is only temporary, and may not remain until the official
  252.      release of TNOS 2.22. I am working with F6FBB to help him make his
  253.      'telnet' more standard.
  254.  
  255.   o   Added a 'http hostname' command to set the default hostname of the
  256.      HTTP server
  257.      This allows you to define this as a different hostname from the
  258.      'hostname' of the TNOS box itself.
  259.  
  260.   o   HTTP server is now a multi-homed server!
  261.      That is, it can now provide different input for different IP
  262.      addresses, and respond as different hostnames.  The 'start http
  263.      <port> <rootdir>' command now has additional optional parameters
  264.      for hostname and ip address to use.  For a syntax listing of this
  265.      command, do a 'start http ?'.
  266.      The port still defaults to 80. The dirname still defaults to the
  267.      'http' directory under your TNOS root directory. The hostname
  268.      defaults to the setting of the 'http hostname' command (which
  269.      itself defaults to the value specified by the 'hostname' command).
  270.      The ip address defaults to INADDR_ANY, or ANY IP address that TNOS
  271.      has assigned to it for any interface.
  272.      All optional parameters can be specified as '-', if needed, to
  273.      retain the default setting for that parameter.
  274.      This can also be used to only serve HTTP data on certain addresses
  275.      in use on the TNOS box, but not to ALL addresses.
  276.  
  277.   o   Added a generic Message server
  278.      This allows you to set up a specified port to listen for
  279.      connections, and when they are received, to output a user-definable
  280.      message, followed by a disconnect. The port a Message server can be
  281.      installed on is configurable, and so is the optional ip address
  282.      (which defaults to INADDR_ANY, or ANY IP address that TNOS has
  283.      assigned to it for any interface).
  284.      Newlines (or blank lines) can be imbedded in the message string by
  285.      using "\n" within the string.
  286.      For a usage string for the Message server, do a 'start message' or
  287.      'stop message'.
  288.  
  289.   o   Added a generic TScript message server
  290.      This is like the Message server mentioned previously, but instead
  291.      of defining a string to be sent to the remote machine upon
  292.      connection to a specified socket port, a TScript script to be run
  293.      is defined. This can include ANY TScript commands valid in a
  294.      TUTOR/NEWS/INFO server, a 'script' command, or a scripthook file.
  295.      The port a Message server can be installed on is configurable, and
  296.      so is the optional ip address (which defaults to INADDR_ANY, or ANY
  297.      IP address that TNOS has assigned to it for any interface).
  298.      For a usage string for the TScript server, do a 'start tscript' or
  299.      'stop tscript'.
  300.  
  301.   o   Added a 'pbbs pruneage' command to allow variable prune aging
  302.      By default, the 'pbbs pruneage' is set to 6 months. The value of
  303.      this command is used with the 'pbbs prune' command.
  304.  
  305.   o   Modified the 'pbbs prune' and 'expire' commands to remove empty
  306.      files
  307.  
  308.   o   All the above included in 2.22b1
  309.  
  310.   o   Added RIP98 support, thanks to Gareth!  The impact of this
  311.      addition (as well as a good description of how to set up RIP) is
  312.      described in a file from Gareth, located at
  313.      ftp://ftp.lantz.com/tnos/misc/RIP98.txt
  314.  
  315.   o   If you are running the HTTP server, read the next entry!
  316.  
  317.   o   IMPORTANT HTTP CHANGE!! Default file changed from root.htm(l) to
  318.      index.htm(l)
  319.  
  320.   o   If you are running the HTTP server, did you read the above entry?
  321.  
  322.   o   Removed the AX25PASSWORD compile flag
  323.  
  324.   o   Added a 'pbbs ax25passwd' command
  325.      This allows you to configure at run-time (rather than compile time)
  326.      the ability to make all users (with accounts in the FTPUSER file)
  327.      confirm their identities with a password over AX.25. Netrom and
  328.      telnet connects are not affected by this, neither are anonymous
  329.      users or users defined as PBBSs in the FTPUSERS file. The default
  330.      for this command is off.
  331.  
  332.   o   Changed build-make.inc to accomidate for recent NCURSES releases
  333.      While previous NCURSES releases had a /usr/include/ncurses
  334.      directory, or a /usr/local/include/ncurses.h file, the recent
  335.      version has neither, but now just uses a /usr/include/curses.h
  336.      file. To accomidate this, if the older ncurses directory or file is
  337.      not found, a symlink is created of /usr/include/ncurses.h which
  338.      points to /usr/include/curses.h. TNOS includes ncurses.h (still
  339.      does, for this purpose) to avoid accidently including a non-ncurses
  340.      header file, on older systems.
  341.  
  342.   o   All the above included in 2.22b2
  343.  
  344.   o   Added code to prevent possibility of dups or forgeries
  345.      This is in three parts. First, if an outbound forwarding session
  346.      does NOT see a SID from the remote PBBS (due to either a bad
  347.      forwarding script in your forward.bbs file, or a SERIOUS problem
  348.      with the remote), then the forwarding session is aborted, a message
  349.      is logged in the logfile, and also a message is sent to the console
  350.      (whether 'forward trace' is on or not). This prevents TNOS from
  351.      being the cause for dups!
  352.      But, this isn't enough, as the remote of an incoming forwarding
  353.      session could have an erroneous forwarding script on IT'S side,
  354.      causing IT to eat the SID sent by your TNOS. In that case, you
  355.      don't KNOW that it's a BBS, as it never identified itself as one.
  356.      To guard against this, if a message is sent and it has R: lines but
  357.      it is NOT identified as a PBBS (with a received SID), then the
  358.      message is automatically held, and an error message is logged in
  359.      the logfile. These messages are not deleted, so you have them for a
  360.      reference in communications with the remote sysop, but they should
  361.      NOT be simply released, as they now have a NEW bid!
  362.      Note, this same 'fix' also prevents users being able to impersonate
  363.      other users as messages originated from other systems, as was the
  364.      case recently when someone attempted to impersonated W0RLI. This
  365.      was done by a user entering a 'sb' line with a '< W0RLI' and a
  366.      first data line of a dummied-up R: line, making it LOOK like it was
  367.      from W0RLI, and forwarded from his PBBS. Users should NOT be
  368.      allowed to produce such forgeries.
  369.      Also, if a bulletin is received from a PBBS, with R: lines but NO
  370.      BID, this is ALSO held, with an error in the logfile. This also
  371.      indicates an error on the REMOTE system. These messages should also
  372.      NOT be released. This cannot happen if the 'pbbs nobid off' command
  373.      is used, but if the 'pbbs nobid' command is 'on', this will hold
  374.      the message anyway.
  375.      If a non-bulletin is received from a PBBS, with R: lines but NO
  376.      BID/MID, this generates a warning message in the logfile, but is
  377.      NOT held. There has NEVER been an agreement among PBBS authors as
  378.      to MIDs, though most (except for W0RLI) treat MIDs and BIDs mostly
  379.      identically. By the specification non-bulletins aren't REQUIRED to
  380.      have a BID. If this occurs, the received message will have it's MID
  381.      made into a BID, and passed on.  This is usually not a problem (to
  382.      anyone but Hank), as personal messages are not 'flooded' as
  383.      bulletins. The worst that happens is that the same personal message
  384.      gets delivered multiple times. (NOTE: personal messages to
  385.      'sysop@*' are treated as bulletins by TNOS, and most all other
  386.      PBBSs).
  387.  
  388.   o   TNOS treatment of BIDs/MIDs
  389.      TNOS is totally compliant with the PBBS specification in this
  390.      regard.  The spec states that all bulletins must have BIDs and if a
  391.      PBBS receives a message without one, it assigns one. The
  392.      specification states that a BID is optional for personal messages
  393.      and should NOT be assigned to NTS messages.
  394.      In regards to MIDs, the specification states that "Because of
  395.      considerable disagreement between the authors of existing systems
  396.      on the implementation of this feature (MIDs), it is not included as
  397.      part of this recommendation.  There is no requirement that a BBS
  398.      implement a MID feature."
  399.      TNOS assigns a MID (message ID) to all messages. If a non-bulletin
  400.      message does NOT have a BID, then the MID is used in it's place in
  401.      all occurances. All messages forwarded from TNOS systems will
  402.      either have a BID or a MID sent with them. NO messages will ever be
  403.      forwarded from a TNOS system without a BID or MID.
  404.      This treatment of MIDs by TNOS is consistent with the
  405.      specification, contrary to what W0RLI would like to believe ;-) If
  406.      something is not covered by a spec and left to interpretation, then
  407.      nobody's implementation is incorrect.
  408.  
  409.   o   Automatic location/verification of LOCKDIR's existence
  410.      The following paths are checked (in this order) and the LOCKDIR is
  411.      set to the first one that matches. If none of them are found, an
  412.      error message is printed, and TNOS exits.
  413.  
  414.   o  /usr/spool/uucp
  415.  
  416.   o  /var/spool/lock
  417.  
  418.   o  /var/spool/uucp
  419.  
  420.   o  /var/lock
  421.  
  422.   o   Added '-l lockdirpath' command line parameter
  423.      This allows you to set up a custom LOCKDIR path, if needed.
  424.  
  425.   o   Added a 'smtp holdscanall' command
  426.      For some reason (which I cannot remember) the scanning of the
  427.      wordhold.dat and userhold.dat files was coded to NOT check files
  428.      received from remote sites, but to only scan locally generated
  429.      messages. This new command will allow you to have ALL email
  430.      messages scanned by these files, and held if there is a reason.
  431.      This command is 'off' by default, so it works like it always has.
  432.  
  433.   o   All the above included in 2.22b3
  434.  
  435.   3.  Minor Changes
  436.  
  437.   The following minor changes have occurred.
  438.  
  439.   o   Added additional output to 'http status' command
  440.  
  441.   o   Added a idle timeout to TCPGATE code
  442.      Uses a hard-coded constant in tcpgate.c, which defaults to 10
  443.      minutes.
  444.  
  445.   o   Updated the config.hlp file, used by mkconfig.tcl
  446.  
  447.   o   New outbound forwarding sessions are now inhibited once shutdown
  448.      starts
  449.  
  450.   o   Added code to make usable PBBS BID from any internet MessageId
  451.  
  452.   o   Reformatted the 'daytime' server's output, adding timezone
  453.  
  454.   o   Removed the no longer functional 'isat' command
  455.  
  456.   o   More lint cleanup, this time in MSDOS code
  457.  
  458.   o   All the above included in 2.22b1
  459.  
  460.   o   HTTP server treats .htm files the same now as .html
  461.  
  462.   o   All the above included in 2.22b2
  463.  
  464.   o   Improved the 'forward alteredbids' command's scanning
  465.      While correctly identifying a change in BID within a message, the
  466.      scanning was changed to prevent needless message holding/deleting.
  467.      This would occur if a truncated BID was found within the R: lines,
  468.      without the REAL bid being affected. Now, if the BID in an R: line
  469.      is NOT the same as the BID received, it is only flagged if it is
  470.      NOT a truncated version of the BID.  If it differs (or is longer
  471.      than the BID received), it will be flagged, but no 'false alerts'
  472.      will be given due to truncated R: lines.
  473.      With the OBVIOUS flood of newbie SYSOPS and their desire to put all
  474.      sorts of MEANINGLESS garbage in their R: lines (causing the NEEDED
  475.      BID to get lost or truncated), this modification should help.
  476.  
  477.   o   Minor changes to support new glibc library
  478.      Compiles and runs, but there still MAY be an unresolved problem or
  479.      two with glibc still. We'll just have to see.
  480.  
  481.   o   Dramatically simplified files.c and created auth.c
  482.      Moved authentication functions to a new file, auth.c, and did a lot
  483.      of code simplification to files.c. Leaner and meaner....
  484.  
  485.   o   All the above included in 2.22b3
  486.  
  487.   o   Some lint cleanups
  488.  
  489.   4.  Remaining Known Bugs
  490.  
  491.   The following are known bugs that will be addressed in the near
  492.   future.  These may or may not be fixed before the next release is made
  493.   available.
  494.  
  495.   1.  The proxy server scripts do not seem to work properly
  496.      There is a problem, that is being looked into, which seems to be
  497.      related to calling scripts from within scripts (which proxy.scr
  498.      DOES).
  499.  
  500.   2.  None other at this time.... ;-)
  501.  
  502.   5.  To-Do List
  503.  
  504.   The following are things on the author's 'to-do' list that are being
  505.   considered for this or a future release of TNOS. These may eventually
  506.   be done, but not necessarily by the next release.
  507.  
  508.   1.  Complete the spec and coding of the non-IP HTTP PBBS interface
  509.  
  510.   2.  Add to the browser support for the 'select' and 'textarea' tags
  511.  
  512.   3.  Add to the browser better rendering of tables within tables
  513.  
  514.   4.  Export a complete set of CGI environment variables when 'exec cmd'
  515.      used
  516.      Currently you can execute a program and pass in explicit parameters
  517.      (which CAN be dynamically assigned using server-side includes), but
  518.      it is NOT a CGI-compatible interface. I will consider adding this
  519.      at a later time.
  520.  
  521.   5.  Add capability to allow use of OS commands
  522.      This includes finishing the incomplete 'pipe' command in the Unix
  523.      release.  Due to the obvious restrictions of MS-DOS (memory, etc.),
  524.      this WILL be considered for Unix version only.
  525.  
  526.   6.  Add better support for PBBS<->Internet mail address translation
  527.      The 'translate' file and improved handling of aliases is a START,
  528.      but more work needs to be done here. Maybe a 'translate.out'
  529.      file...
  530.  
  531.   7.  Add code to allow a TIP socket type, for use with LL Modems
  532.  
  533.   8.  Tweek the WPages code a bit
  534.      Need to improve the code that insures that the wpagebbs entries are
  535.      correct, of the proper length, and actually look like hier
  536.      addresses. Also, make the expiring of WPages files less fragile if
  537.      the file has become corrupted.
  538.  
  539.   9.  Check into duplicate entries in the WP files
  540.      While not harmful, the WPages routines SHOULD be overwriting
  541.      existing entries, NOT creating new ones.
  542.  
  543.   10.
  544.       Consider adding intelligence to convers links
  545.      The idea being that if there are no incoming links, and no local
  546.      users, that the remote outgoing link would be brought down until
  547.      this changed.
  548.  
  549.   11.
  550.       Consider moving MSDOS version to curses for screen I/O
  551.  
  552.